package com.qls.ali.biz.order.util;


import com.qls.core.entity.OpOurRateplanPrice;

import java.util.List;
import java.util.Objects;

/**
 * @author doyoung
 */
public class PriceUtil {

    /**
     * 加价计算
     *
     * @param opOurRateplanPrices List<OpOurRateplanPrice>
     * @param originalPrice       Integer
     * @return int
     */
    public static int calcPrice(List<OpOurRateplanPrice> opOurRateplanPrices, Integer originalPrice) {
        if (Objects.isNull(originalPrice)) {
            return 0;
        }
        int newPrice = originalPrice;
        //如果原始价格为0，则价格为 0
        if (originalPrice.equals(0)) {
            return 0;
        }
        for (OpOurRateplanPrice opOurRateplanPrice : opOurRateplanPrices) {
            if (opOurRateplanPrice.getChangePriceStart() <= originalPrice && originalPrice <= opOurRateplanPrice.getChangePriceEnd()) {
                newPrice = (int) (originalPrice * (1 + (float) opOurRateplanPrice.getChargePricePercent() / 100) + opOurRateplanPrice.getChargePriceAmount());
                if (newPrice > opOurRateplanPrice.getHighestPrice()) {
                    newPrice = opOurRateplanPrice.getHighestPrice();
                }
                return newPrice;
            }
        }
        return newPrice;
    }
}

